package com.linsen.oss.service;

import com.linsen.oss.provider.vo.UploadFileData;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author fudon
 * @version 1.0
 * @date 2021-10-21 15:59
 */
public interface FileUploadService {

    /**
     * 上传图片文件返回新的文件名
     * @param file
     * @return
     */
    String uploadImg(MultipartFile file);

    /**
     * 上传图片文件返回详细文件属性内容
     * @param file
     * @return
     */
    UploadFileData uploadImgInfo(MultipartFile file) throws Exception;

    /**
     * 上传任意格式文件返回url
     * @param file
     * @return
     */
    String uploadFile(MultipartFile file);

    /**
     * 上传任意格式文件返回url
     * @param bytes 文件二进制byte[]
     * @param suffix 文件后缀名称
     * @return
     */
    String uploadFile(byte[] bytes,String suffix);

    /**
     * 上传任意格式文件返回文件信息
     * @param file
     * @return
     */
    UploadFileData uploadFileInfo(MultipartFile file) throws Exception;

    /**
     * 生成二维码-返回文件地址
     * @param content
     * @return
     */
    String createQrCode(String content);
}
